Exibi os números primos de um numero recebido pelo usuário, sem estrutura de repetição
Publicado por Edmar Wantuil (última atualização em 22/11/2011)
[ Hits: 2.095 ]
Homepage: wantuil.com
Escrevi esse código para testar os números primos <= de um numero recebido pelo usuário.
Economizado o máximo de processos possíveis e sem utilizar estrutura de repetição apenas recursividade.
/* Feito por Edmar Wantuil Silva Júnior Em 14 de novembro de 2011 */ #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //Função testa se é primo ele testa até encrontar um divisor o achando ele para o teste, pois já saberemos que ele é primo int testa_primo(int numero, int divisor) { //Ira testar somente até a metade do numero pois sabemos que após a metade do nuemro so existe o proprio numero como divisor if((numero / 2) < divisor) return 0; //Se achar qualquer divisor o teste irá parar pois o numero não é mais primo if(numero % divisor == 0) return 1; else return testa_primo(numero,divisor + 1); } //Essa função chama a função testa primo e retorna true caso primo bool primo(numero) { //vamos passar o numero 2 como o primeiro divisor pois sabemos que todos os numeros são divisiveis assim se retornar 0 ele sera primo if(testa_primo(numero,2) == 0) return true; else return false; } //Essa função chama ela mesma até numero = cont void primos(int numero, int cont) { if(primo(cont) == true) printf("%d\n", cont); if(numero > cont) primos(numero, cont + 1); return; } //Função principal int main() { int numero= 0; printf("Numero: "); scanf("%d",&numero); primos(numero, 1); primo(numero); return 0; }
HaiDownlodManager - simples programa para baixar arquivos
Fazendo o somatório de 1 até N
Angelinux Scripts - Palpite para Megasena em C
Rotinas para manipulação de matrizes
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)